/*
 * Copyright 2008 Nils Adermann
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <sstream>
#include <string>

#include "couchdb++/CurlException.h"

using namespace Couch;

CurlException::CurlException(const UnicodeString& error, CURLcode curlErrorCode, const char* curlMessage) :
	Exception("CurlException: "), curlErrorCode(curlErrorCode), curlErrorMessage(curlMessage)
{
	std::stringstream ss;
	std::string s;
	ss << curlErrorCode;
	ss >> s;
	
	errorMessage.append(error);
	errorMessage.append(": CURL Error ");
	errorMessage.append(s.c_str());
	errorMessage.append(" - ");
	errorMessage.append(curlErrorMessage.c_str());
}

CurlException::~CurlException()
{
}

CURLcode CurlException::getCurlErrorCode()
{
	return curlErrorCode;
}

std::string CurlException::getCurlErrorMessage()
{
	return curlErrorMessage;
}